﻿var tableName = "";
var itemsPerPage = 0;
var currentPage = 1;
var pages = 0;
var inited = false;
var alertado=false
$(document).ready(main);


var accionEjecutar;
function main() {
  
    
    buscarCargo();

    ejecutarPorDafault();

    $("#botonNuevoHorario").click(function () {

        nuevoHorario();

    });

    $("#botonEliminarHorario").click(eliminar);
    $("#Buscar").click(function () {

        buscarPersonal("0");

    });
    $("#BuscarModificar").click(function () {

        buscarPersonal("1");

    });
}

function vaciarErrores() {
    document.getElementById("errorNroDocumento").innerHTML = "";
}


function nuevoHorario() {

 if ($("input:radio[name='R1']").is(":checked")) {
           
            
            $("#dialog-form").dialog("open");
            $("#LuI").get(0).value = "none";
            $("#LuF").get(0).value = "none";

            $("#MaI").get(0).value = "none";
            $("#MaF").get(0).value = "none";

            $("#MiI").get(0).value = "none";
            $("#MiF").get(0).value = "none";

            $("#JuI").get(0).value = "none";
            $("#JuF").get(0).value = "none";

            $("#ViI").get(0).value = "none";
            $("#ViF").get(0).value = "none";

            $("#SaI").get(0).value = "none";
            $("#SaF").get(0).value = "none";

            $("#DoI").get(0).value = "none";
            $("#DoF").get(0).value = "none";
            accionEjecutar = "1";
            
        }
        else {
            alert("seleccione una fila");
        }
}

function buscarPersonal(estado) {
    


    fv = new formValidator();
    vaciarErrores();
   
    $("#tablaDinamica").hide();
    if (fv.isEmpty(document.getElementById("nro_documento").value)) {
    }
    else {
        if (isNaN(document.getElementById("nro_documento").value) || (document.getElementById("nro_documento").value.length != 8)) {
            fv.raiseError("");
            document.getElementById("errorNroDocumento").innerHTML = "Solo Numero de 8 digitos";
        }
    }

    if (fv.numErrors() < 1) {
//        mandarBusqueda();
//        $("#tablaDinamica").show();
//        $("#botonesSeleccion").show();
//        return true;
    }
    else {
        //fv.displayErrors();
        return false;
    }









    
    var eee = document.getElementById("cargo");

    var enviar = {
    nro_documento: $("#nro_documento").val(),
        nombres: $("#nombres").val(),
        apellidos: $("#apellidos").val(),
        id_cargo: eee.options[eee.selectedIndex].value,
        est:estado

    }


    var jsonData = JSON.stringify(enviar);


    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "buscarPersonal",        
        success: function (data){
            var lista = data.listaPersonal;


            var escritor = "";

            //dentro de la variable escritor vamos a meter todo lo que queremos mostrar en nuestro view

            escritor += '<table id="resultados"><thead><tr><th>---</th><th>Id</th><th>Nombres</th><th>Apellidos</th><th>Tipo_Documento</th><th>Nro_Documento</th><th>Telefono</th><th>Cargo</th></tr></thead>';
            
            escritor += "<tbody>";

            $.each(lista, function (i, item) {
                //entonces recorremos la lista y vamos creando <td> pa cada uno

                //lista[i] es lo mismo que item

                escritor += "<tr>";

                //averiguate como era la estructura de la tabla
                escritor += '<td><input id="RadioButton1" name="R1" type="radio" value="2" style="width:30px;" /></td>';
                escritor += '<td>' + item.id + '</td>';
                escritor += '<td>' + item.nombres + '</td>';
                escritor += '<td>' + item.apellidos + '</td>';
                escritor += '<td>' + item.tipo_documento + '</td>';
                escritor += '<td>' + item.nro_documento + '</td>';
                escritor += '<td>' + item.telefono + '</td>';
                escritor += '<td>' + item.cargo + '</td>';            
                escritor += "</tr>";
            });

            //has el cierre del <tbody>

            escritor += "</toby>";

            //hay qu probar pa ver que imprime, va a salir hasta el webo porque el formato de la tabla esta mal

            escritor += "</table>";

            $("#tablaDinamica").html(escritor);
            $("#tablaDinamica").show();

            setearValores('resultados', 10);
            init();
            showPageNav('pager', 'NavPosicion');
            showPage(1);
        }
    });

    
}





function buscarCargo() {


    
    $.ajax({
        type: "POST",        
        contentType: "application/json; charset=utf-8",
        url: "buscarCargo",
        success: function (data) {
            //            var cargo = data.cargo;
            
           
           
            //console.log(data);

            var lista = data.listaCargo;
            var rel = data.ola;
        
            $("#cargo").find('option').remove().end().append("<option></option>");
            $.each(lista, function (i, item) {

                $("#cargo").append("<option value = \"" + item.id + "\">" + item.descripcion + "</option>");
            });
        }
    });

}


function menuHorario() {
    
    window.history.back();
}



function ejecutarPorDafault() {
    //alert("salio");

    var nombresB = $("#nombresB"),
            apellidosB = $("#apellidosB"),
            nro_documentoB = $("#nro_documentoB"),
            tipo_documentoB = $("#tipo_documentoB"),
            telefonoB = $("#telefonoB"),
            correoB = $("#correoB"),
            generoB = $("#generoB"),
            allFields = $([]).add(nombresB).add(apellidosB).add(nro_documentoB).add(tipo_documentoB).add(telefonoB).add(correoB).add(generoB),
            tips = $(".validateTips");

    function updateTips(t) {
        tips
                .text(t)
                .addClass("ui-state-highlight");
        setTimeout(function () {
            tips.removeClass("ui-state-highlight", 1500);
        }, 500);
    }

    $("#dialog-form").dialog({

        autoOpen: false,
        height: 600,
        width: 850,
        modal: true,
        buttons: {
            "Aceptar": function () {
                



                var nro;
                var tipo;
              
              
                $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {

                    switch (index2) {
                      
                        case 1:
                            tipo = $(this).text();
                            break;
                        case 4:
                            nro = $(this).text();
                            break;


                    }
                })
              
                
                registrarHorario(tipo);

            },
            Cancel: function () {
                allFields.val("").removeClass("ui-state-error");
                $(this).dialog("close");
            }
        },
        close: function () {
            allFields.val("").removeClass("ui-state-error");
        }
    });

    $("#botonModificarHorario").click(function () {
        accionEjecutar = "2";
        $("#dialog-form").dialog("open");
        if ($("input:radio[name='R1']:checked")) {


            var nro;
            var tipo;
         

            $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {

                switch (index2) {
                  
                    case 1:
                        nro = $(this).text();
                        break;
                    case 4:
                        e = $(this).text();
                        break;


                }
            })


            // alert(a + "*" + b + "*" + tipo + "*" + nro + "*" + e);


            
            var enviar = {

                id_personal: nro
             
            }

            var jsonData = JSON.stringify(enviar);

            $.ajax({
                type: "POST",
                data: jsonData,
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                url: "buscarHorario",
                beforeSend: esperarHorario(),
                success: cargarHorario
            });


            //     alert(campo1 + ' - ' + campo2 + ' - ' + campo3 + ' - ' + $("input:radio[name='R1']:checked").val());

            // document.getElementsByName("LuI").value = campo1;
        }







    });
}


function esperarHorario() {
   // alert("esperando horario");
}

function cargarHorario(data) {


    $("#LuI").get(0).value = "none";
    $("#LuF").get(0).value = "none";

    $("#MaI").get(0).value = "none";
    $("#MaF").get(0).value = "none";

    $("#MiI").get(0).value = "none";
    $("#MiF").get(0).value = "none";

    $("#JuI").get(0).value = "none";
    $("#JuF").get(0).value = "none";

    $("#ViI").get(0).value = "none";
    $("#ViF").get(0).value = "none";

    $("#SaI").get(0).value = "none";
    $("#SaF").get(0).value = "none";

    $("#DoI").get(0).value = "none";
    $("#DoF").get(0).value = "none";

    //alert("llegaron los datos para la grilla");

 //   alert(data.me);
//    $("#LuI").get(0).value = "ola1";
//    $("#LuF").get(0).value = "ola2";
//    
   var item = data.horario;
//alert("cargrhorario");
  
       //entonces recorremos la lista y vamos creando <td> pa cada uno

       //lista[i] es lo mismo que item

       alert(item.LuI);
       $("#LuI").get(0).value = item.LuI;
       $("#LuF").get(0).value = item.LuF;

       $("#MaI").get(0).value = item.MaI;
       $("#MaF").get(0).value = item.MaF;

       $("#MiI").get(0).value = item.MiI;
       $("#MiF").get(0).value = item.MiF;

       $("#JuI").get(0).value = item.JuI;
       $("#JuF").get(0).value = item.JuF;

       $("#ViI").get(0).value = item.ViI;
       $("#ViF").get(0).value = item.ViF;

       $("#SaI").get(0).value = item.SaI;
       $("#SaF").get(0).value = item.SaF;

       $("#DoI").get(0).value = item.DoI;
       $("#DoF").get(0).value = item.DoF;




    
    }
    
    function eliminar() {
    
        var nro;
        var tipo;
        var a;
        var b;
        var e;

        $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {

            switch (index2) {
                case 1:
                    tipo = $(this).text();
                    break;
                


            }
        })
        //  alert(nro + "----" + tipo)
        accionEjecutar = "0";
        
        registrarHorario(tipo);
        
    }

  function  limpiarAlertas(){
      document.getElementById("lunes").innerHTML = "";
      document.getElementById("martes").innerHTML = "";
      document.getElementById("miercoles").innerHTML = "";
      document.getElementById("jueves").innerHTML = "";
      document.getElementById("viernes").innerHTML = "";
      document.getElementById("sabado").innerHTML = "";
      document.getElementById("domingo").innerHTML = "";
        
        

    }


    function registrarHorario(tipo) {
        

   
    var enviarsela = {
        LuI: $("#LuI").attr("Value"),
        LuF: $("#LuF").attr("Value"),
        MaI: $("#MaI").attr("Value"),
        MaF: $("#MaF").attr("Value"),
        MiI: $("#MiI").attr("Value"),
        MiF: $("#MiF").attr("Value"),
        JuI: $("#JuI").attr("Value"),
        JuF: $("#JuF").attr("Value"),
        ViI: $("#ViI").attr("Value"),
        ViF: $("#ViF").attr("Value"),
        SaI: $("#SaI").attr("Value"),
        SaF: $("#SaF").attr("Value"),
        DoI: $("#DoI").attr("Value"),
        DoF: $("#DoF").attr("Value"),
        id_persona:tipo,
        accion: accionEjecutar



    }

     limpiarAlertas();

     
     alertado = false;
     if ((enviarsela.LuI >= 0 && enviarsela.LuF == "none") || ((enviarsela.LuF >= 0 && enviarsela.LuI == "none"))) {
         alertado = true;
         document.getElementById("lunes").innerHTML = "Complete los datos";
     }
     else {
         if (parseInt(enviarsela.LuI) >=parseInt( enviarsela.LuF)) {
             if (enviarsela.LuI > 0) {
                 alertado = true;
                 document.getElementById("lunes").innerHTML = "La hora final es mayor o igual a la hora inicial.";
             }
         }
     }

      if ((enviarsela.MaI >= 0 && enviarsela.MaF == "none") || ((enviarsela.MaF >= 0 && enviarsela.MaI == "none"))) {
         alertado = true;
         document.getElementById("martes").innerHTML = "Complete los datos";
     }
     else {
    if (parseInt(enviarsela.MaI) >=parseInt( enviarsela.MaF)) {
        if (enviarsela.MaI > 0) {
            alertado = true;
            document.getElementById("martes").innerHTML = "La hora final es mayor o igual a la hora inicial.";
            }
        }
    }



     if ((enviarsela.MiI >= 0 && enviarsela.MiF == "none") || ((enviarsela.MiF >= 0 && enviarsela.MiI == "none"))) {
         alertado = true;
         document.getElementById("miercoles").innerHTML = "Complete los datos";
     }
     else {
    if (parseInt(enviarsela.MiI )>= parseInt(enviarsela.MiF)) {
        if (enviarsela.MiI > 0) {
            alertado = true;
            document.getElementById("miercoles").innerHTML = "La hora final es mayor o igual a la hora inicial.";
        }
        }
    }



     if ((enviarsela.JuI >= 0 && enviarsela.JuF == "none") || ((enviarsela.JuF >= 0 && enviarsela.JuI == "none"))) {
         alertado = true;
         document.getElementById("jueves").innerHTML = "Complete los datos";
     }
     else {
    if (parseInt(enviarsela.JuI) >= parseInt(enviarsela.JuF)) {
        if (enviarsela.JuI > 0) {
            alertado = true;
            document.getElementById("jueves").innerHTML = "La hora final es mayor o igual a la hora inicial.";
        }
        }
    }



     if ((enviarsela.ViI >= 0 && enviarsela.ViF == "none") || ((enviarsela.ViF >= 0 && enviarsela.ViI == "none"))) {
         alertado = true;
         document.getElementById("viernes").innerHTML = "Complete los datos";
     }
     else {
    if (parseInt(enviarsela.ViI) >= parseInt(enviarsela.ViF)) {
        if (enviarsela.ViI > 0) {
            alertado = true;
            document.getElementById("viernes").innerHTML = "La hora final es mayor o igual a la hora inicial.";
        }
        }
    }




     if ((enviarsela.SaI >= 0 && enviarsela.SaF == "none") || ((enviarsela.SaF >= 0 && enviarsela.SaI == "none"))) {
         alertado = true;
         document.getElementById("sabado").innerHTML = "Complete los datos";
     }
     else {
    if (parseInt(enviarsela.SaI) >= parseInt(enviarsela.SaF)) {
        if (enviarsela.SaI > 0) {
            alertado = true;
            document.getElementById("sabado").innerHTML = "La hora final es mayor o igual a la hora inicial.";
        }
        }
    }



     if ((enviarsela.DoI >= 0 && enviarsela.DoF == "none") || ((enviarsela.DoF >= 0 && enviarsela.DoI == "none"))) {
         alertado = true;
         document.getElementById("domingo").innerHTML = "Complete los datos";
     }
     else {
    if (parseInt(enviarsela.DoI)>= parseInt(enviarsela.DoF)) {
        if (enviarsela.DoI > 0) {
            alertado = true;
            document.getElementById("domingo").innerHTML = "La hora final es mayor o igual a la hora inicial.";
        }
        }
    }

    if (enviarsela.LuI == "none" && enviarsela.LuF == "none" && enviarsela.MaI == "none" && enviarsela.MaF == "none" && enviarsela.MiI == "none" && enviarsela.MiF == "none" && enviarsela.JuI == "none" && enviarsela.JuF == "none" && enviarsela.ViI == "none" && enviarsela.ViF == "none" && enviarsela.SaI == "none" && enviarsela.SaF == "none" && enviarsela.DoI == "none" && enviarsela.DoF == "none" && accionEjecutar!="0") {
        alert("Complete los datos antes de continuar.");
        return true;
    } else {
        if (alertado == true) {


            var question = confirm("Se ha generado algunas advertencias, reviselas antes de continuar. De lo contrario Presione Ok para continuar.");

            if (question != 0) { }
            else { return true; }
        }
    }

    
 
  //  alert(nro + "***" + tipo);
    //alert("cargo data");
    //alert($("#RUC").attr("value"));
    //alert($("#RazonSocial").attr("value"));
   // console.log(enviarsela);
    //alert();
    var jsonData = JSON.stringify(enviarsela);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "registrarHorario",        
        success: llegadaRegistro
        //        error: function(xhr, status, error) {
        //            alert("An AJAX error occured: " + status + "\nError: " + error);
        //        }
    });
}

function errorJS(data) {
    alert();
    alert("Error");
}




function llegadaRegistro(data) {
  //  alert(data.mensaje);

    if (accionEjecutar == "1") {
        buscarPersonal("0");
    } else {
        buscarPersonal("1");
    }
    $("#dialog-form").dialog("close");
//   alert(data.me);
    //$("#registro").hide();
}




//********************************









//PAGINACION DE TABLA
function setearValores(tableNameP, itemsPerPageP) {
    tableName = tableNameP;
    itemsPerPage = itemsPerPageP;
}
function showRecords(from, to) {
    var rows = document.getElementById(tableName).rows;
    // i starts from 1 to skip table header row
    for (var i = 1; i < rows.length; i++) {
        if (i < from || i > to)
            rows[i].style.display = 'none';
        else
            rows[i].style.display = '';
    }
}

function showPage(pageNumber) {
    if (!inited) {
        alert("Error 1 !");
        return;
    }

    var oldPageAnchor = document.getElementById('pg' + currentPage);
    oldPageAnchor.className = 'pg-normal';

    currentPage = pageNumber;
    var newPageAnchor = document.getElementById('pg' + currentPage);
    newPageAnchor.className = 'pg-selected';

    var from = (pageNumber - 1) * itemsPerPage + 1;
    var to = from + itemsPerPage - 1;
    showRecords(from, to);
}

function prev() {
    if (currentPage > 1)
        showPage(currentPage - 1);
}

function next() {
    if (currentPage < pages) {
        showPage(currentPage + 1);
    }
}

function init() {
    var rows = document.getElementById(tableName).rows;
    var records = (rows.length - 1);
    pages = Math.ceil(records / itemsPerPage);
    inited = true;
}

function showPageNav(pagerName, positionId) {
    if (!inited) {
        alert("Error 2 !");
        return;
    }
    var element = document.getElementById(positionId);

    var pagerHtml = '<span onclick="prev();" class="pg-normal" style="size:12px;" onmouseover="this.style.cursor=\'pointer\'"> &#171 Anterior </span> | ';
    for (var page = 1; page <= pages; page++)
        pagerHtml += '<span id="pg' + page + '" class="pg-normal" onclick="showPage(' + page + ');"  style="size:12px;" onmouseover="this.style.cursor=\'pointer\'">' + page + '</span> | ';
    pagerHtml += '<span onclick="next();" class="pg-normal" style="size:12px;" onmouseover="this.style.cursor=\'pointer\'"> Siguiente &#187;</span>';
    pagerHtml += '<script type="text/javascript">var pager = new Pager("resultados", 3);</script>';
    element.innerHTML = pagerHtml;
}